X-Git-Url: https://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Fvol%2Fdaemon_com.h;h=dabaf3b578e0423f95992c0129a29130258b7a4a;hp=81fd38c218fb3c4865b16bbd770a71d0fc83d88c;hb=40bf6dee2409197f7494c3d09bf2dea7c248d185;hpb=753a316821bf23a53a7ebef9b52122c39ee88b83 diff --git a/src/vol/daemon_com.h b/src/vol/daemon_com.h index 81fd38c..dabaf3b 100644 --- a/src/vol/daemon_com.h +++ b/src/vol/daemon_com.h @@ -87,6 +87,15 @@ enum SYNCReasonCode { afs_int64 _##buf##_l[SYNC_PROTO_MAX_LEN/sizeof(afs_int64)]; \ char * buf = (char *)(_##buf##_l) +#ifdef AFS_LINUX26_ENV +/* Some Linux kernels have a bug where we are not woken up immediately from a + * select() when data is available. Work around this by having a low select() + * timeout, so we don't hang in those situations. */ +# define SYNC_SELECT_TIMEOUT 10 +#else +# define SYNC_SELECT_TIMEOUT 86400 +#endif + #ifdef USE_UNIX_SOCKETS #include #include @@ -135,7 +144,6 @@ typedef struct SYNC_client_state { int retry_limit; /**< max number of times for SYNC_ask to retry */ afs_int32 hard_timeout; /**< upper limit on time to keep trying */ char * proto_name; /**< sync protocol associated with this conn */ - byte fatal_error; /**< nonzero if fatal error on this client conn */ afs_uint32 pkt_seq; /**< packet xmit sequence counter */ afs_uint32 com_seq; /**< command xmit sequence counter */ } SYNC_client_state;