diff options
| author | Jeff Darcy <jdarcy@redhat.com> | 2013-01-31 14:23:36 -0500 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-02-03 12:09:54 -0800 | 
| commit | 26d9d2bd27dd9e6ed9a77789afea0944032223d8 (patch) | |
| tree | 89ba327fc9bf6d0cd8b5427cdf4f3ef5f666cfe1 /rpc/rpc-transport/socket/src/socket.h | |
| parent | 77f86aae037ddbe581aea9829c4f541de47a35d6 (diff) | |
socket: restructure disconnect/poll-thread interactions
Change-Id: I792c28f52068e4ed666069b740739662685160bc
BUG: 906401
Signed-off-by: Jeff Darcy <jdarcy@redhat.com>
Reviewed-on: http://review.gluster.org/4456
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'rpc/rpc-transport/socket/src/socket.h')
| -rw-r--r-- | rpc/rpc-transport/socket/src/socket.h | 9 | 
1 files changed, 8 insertions, 1 deletions
diff --git a/rpc/rpc-transport/socket/src/socket.h b/rpc/rpc-transport/socket/src/socket.h index 78faad903..bb342d998 100644 --- a/rpc/rpc-transport/socket/src/socket.h +++ b/rpc/rpc-transport/socket/src/socket.h @@ -184,6 +184,12 @@ struct gf_sock_incoming {  	char                *ra_buf;  }; +typedef enum { +        OT_IDLE,        /* Uninitialized or termination complete. */ +        OT_ALIVE,       /* Past pthread_create, no error/disconnect. */ +        OT_DYING,       /* Disconnect in progress. */ +} ot_state_t; +  typedef struct {          int32_t                sock;          int32_t                idx; @@ -222,7 +228,8 @@ typedef struct {  	pthread_t              thread;  	int                    pipe[2];  	gf_boolean_t           own_thread; -	volatile int           socket_gen; +        ot_state_t             ot_state; +        pthread_cond_t         ot_event;  } socket_private_t;  | 
