Raised This Month: $51 Target: $400
 12% 

[RESOLU] Forward - Interruption ?


  
 
 
Thread Tools Display Modes
Author Message
micapat
Veteran Member
Join Date: Feb 2010
Location: Nyuu, nyuu (France).
Old 02-18-2012 , 08:08   [RESOLU] Forward - Interruption ?
#1

Bonjour !

J'aimerais juste avoir une petite info au niveau des forwards.

J'ai par exemple ce code :

PHP Code:
public client_connectplayer )
{
    
// ...
}

public 
ma_fonction( )
{
    
// ...

Imaginons je suis dans le corps de ma_fonction( ). Un joueur se connecte. Est ce que la fonction client_connect( ) est directement appelée même si je suis au milieu de ma_fonction( ) ( Via un système d'interruptions, je passe les détails ) ?

Je demande car au niveau des joueurs j'utilise des variables telles que g_is_connected, et si le joueur se déconnecte alors que ma_fonction est en train d'être exécutée, la variable ne sera pas mis à jour tant que la fonction n'est pas terminée, exacte ? Du coup je peux rapidement avoir des gros problèmes.
__________________
micapat is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 02-18-2012 , 08:17   Re: Forward - Interruption ?
#2

L'execution est mono-thread donc ça n'arrivera pas.
__________________
Arkshine is offline
micapat
Veteran Member
Join Date: Feb 2010
Location: Nyuu, nyuu (France).
Old 02-18-2012 , 08:21   Re: Forward - Interruption ?
#3

Ok c'est ce que je pensais, donc l'utilisation de variable pour stocker si le joueur est connecté c'est bofbof Merci.
__________________
micapat is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 02-18-2012 , 08:39   Re: [RESOLU] Forward - Interruption ?
#4

Je sais pas ce que tu as compris, mais ce genre de situation ne peut pas arriver. Mono-thread = mono-tâche, donc si MaFunction est executé et que le joueur se déconnecte, MaFunction sera executé avant que le code pour la déconnection soit executé.
__________________
Arkshine is offline
micapat
Veteran Member
Join Date: Feb 2010
Location: Nyuu, nyuu (France).
Old 02-18-2012 , 08:52   Re: [RESOLU] Forward - Interruption ?
#5

Oui oui c'est ça que j'ai compris . Je sais comment marche le mono-thread et multi-thread t'inquiète pas .
__________________
micapat is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 02-18-2012 , 09:12   Re: [RESOLU] Forward - Interruption ?
#6

Ta réponse n'est pas dans ce sens...

"donc l'utilisation de variable pour stocker si le joueur est connecté c'est bofbof"

Prouve que tu n'as pas compris. lol
Ou alors je me gourre complètement.
__________________

Last edited by Arkshine; 02-18-2012 at 09:16.
Arkshine is offline
micapat
Veteran Member
Join Date: Feb 2010
Location: Nyuu, nyuu (France).
Old 02-18-2012 , 09:16   Re: [RESOLU] Forward - Interruption ?
#7

C'est bon j'ai eu l'explication, is_user_connected doit lui aussi attendre pour être mis à jour.

Du coup si j'ai une fonction ultra longue :

PHP Code:
public ma_super_fonction_ultra_longueplayer )
{
    
// Blabla
    // Blabla
    // <- le joueur s'est deco ( overflow .. )
 
    
message_begin( ) // Byebye le serv

Voila le problème.

Même si le fonctionnement est mono-thread, les interruptions ont été crée pour permettre de sauter en cours de fonction.

Genre quand tu fais une division par zéro ...
__________________

Last edited by micapat; 02-18-2012 at 09:25.
micapat is offline
Arkshine
AMX Mod X Plugin Approver
Join Date: Oct 2005
Old 02-18-2012 , 09:37   Re: [RESOLU] Forward - Interruption ?
#8

Je ne sais pas, ça semble pertinent, mais dans le cas d'un overflow le client serait déjà déconnecté avant le code suivant ne s'execute (après tout le but des interruptions, bien que je ne connais pas grand chose au C), donc je ne suis pas certain qu'il y ait une relation ici.
__________________

Last edited by Arkshine; 02-18-2012 at 09:37.
Arkshine is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:48.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode