diff options
author | Michael J. Chudobiak <mjc@avtechpulse.com> | 2013-02-26 09:35:56 -0500 |
---|---|---|
committer | Michael J. Chudobiak <mjc@avtechpulse.com> | 2013-02-26 09:35:56 -0500 |
commit | 54101b8119b91052a6f8a2d0e884280e85ea1d51 (patch) | |
tree | eafe00a7891a70affc72619beecf1d0e72a2af83 | |
parent | 772b187618db9ebc8f9bd68041369db8f9f00db5 (diff) |
longer default vxi IO timeouts
-rw-r--r-- | libvxi11client/libvxi11client.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/libvxi11client/libvxi11client.c b/libvxi11client/libvxi11client.c index cb013ff..88fa6cb 100644 --- a/libvxi11client/libvxi11client.c +++ b/libvxi11client/libvxi11client.c @@ -23,7 +23,10 @@ #define FLAG_END (1 << 3) #define FLAG_WAITLOCK 1 -#define VXI11_DEFAULT_TIMEOUT 1000 +// in milliseconds +#define LOCK_TIMEOUT 1000 +#define IO_TIMEOUT 5000 +#define POLL_TIMEOUT 1000 static GThread* interruptthread; static void (*interruptcallback)(char*) = NULL; @@ -113,7 +116,7 @@ int vxi11_open(VXI11Context* context, char* address, char* device) { Create_LinkParms link_parms; link_parms.clientId = (long) context->clnt; link_parms.lockDevice = 0; - link_parms.lock_timeout = VXI11_DEFAULT_TIMEOUT; + link_parms.lock_timeout = LOCK_TIMEOUT; link_parms.device = device != NULL ? device : "device0"; Create_LinkResp* linkresp = create_link_1(&link_parms, context->clnt); @@ -169,7 +172,7 @@ int vxi11_readstatusbyte(VXI11Context* context, bool waitforlock) { } Device_GenericParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .lock_timeout = VXI11_DEFAULT_TIMEOUT, .io_timeout = VXI11_DEFAULT_TIMEOUT }; + .lock_timeout = LOCK_TIMEOUT, .io_timeout = IO_TIMEOUT }; Device_ReadStbResp* resp = device_readstb_1(¶ms, context->clnt); if (resp != NULL && resp->error == 0) @@ -194,8 +197,8 @@ int vxi11_write(VXI11Context* context, char* data, int len, bool waitlock, bool return 0; } - Device_WriteParms params = { .lid = context->devicelink, .io_timeout = VXI11_DEFAULT_TIMEOUT, .lock_timeout = - VXI11_DEFAULT_TIMEOUT, .flags = vxi11_generateflags(waitlock, end, false) }; + Device_WriteParms params = { .lid = context->devicelink, .io_timeout = IO_TIMEOUT, .lock_timeout = + LOCK_TIMEOUT, .flags = vxi11_generateflags(waitlock, end, false) }; params.data.data_len = len < 0 ? strlen(data) : len; params.data.data_val = data; @@ -223,8 +226,8 @@ int vxi11_read(VXI11Context* context, char* buffer, unsigned int bufferlen, bool return 0; } - Device_ReadParms params = { .lid = context->devicelink, .requestSize = 256, .io_timeout = VXI11_DEFAULT_TIMEOUT, - .lock_timeout = VXI11_DEFAULT_TIMEOUT, .flags = vxi11_generateflags(waitlock, false, termchrset), + Device_ReadParms params = { .lid = context->devicelink, .requestSize = 256, .io_timeout = IO_TIMEOUT, + .lock_timeout = LOCK_TIMEOUT, .flags = vxi11_generateflags(waitlock, false, termchrset), .termChar = termchrset ? termchr : 0 }; Device_ReadResp* resp = device_read_1(¶ms, context->clnt); @@ -266,7 +269,7 @@ int vxi11_docmd(VXI11Context* context, char* datain, int datainlen, char* dataou } Device_DocmdParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .io_timeout = VXI11_DEFAULT_TIMEOUT, .lock_timeout = VXI11_DEFAULT_TIMEOUT, .cmd = cmd, .network_order = 0, + .io_timeout = IO_TIMEOUT, .lock_timeout = LOCK_TIMEOUT, .cmd = cmd, .network_order = 0, .datasize = 0 }; if (datain == NULL ) @@ -304,7 +307,7 @@ int vxi11_trigger(VXI11Context* context, bool waitforlock) { } Device_GenericParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .lock_timeout = VXI11_DEFAULT_TIMEOUT, .io_timeout = VXI11_DEFAULT_TIMEOUT }; + .lock_timeout = LOCK_TIMEOUT, .io_timeout = IO_TIMEOUT }; Device_Error* error = device_trigger_1(¶ms, context->clnt); if (error->error == 0) @@ -327,7 +330,7 @@ int vxi11_clear(VXI11Context* context, bool waitforlock) { return 0; } Device_GenericParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .lock_timeout = VXI11_DEFAULT_TIMEOUT, .io_timeout = VXI11_DEFAULT_TIMEOUT }; + .lock_timeout = LOCK_TIMEOUT, .io_timeout = IO_TIMEOUT }; Device_Error* error = device_clear_1(¶ms, context->clnt); if (error != NULL && error->error == 0) return 1; @@ -349,7 +352,7 @@ int vxi11_remote(VXI11Context* context, bool waitforlock) { return 0; } Device_GenericParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .lock_timeout = VXI11_DEFAULT_TIMEOUT, .io_timeout = VXI11_DEFAULT_TIMEOUT }; + .lock_timeout = LOCK_TIMEOUT, .io_timeout = IO_TIMEOUT }; Device_Error* error = device_remote_1(¶ms, context->clnt); if (error != NULL && error->error == 0) return 1; @@ -371,7 +374,7 @@ int vxi11_local(VXI11Context* context, bool waitforlock) { return 0; } Device_GenericParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .lock_timeout = VXI11_DEFAULT_TIMEOUT, .io_timeout = VXI11_DEFAULT_TIMEOUT }; + .lock_timeout = LOCK_TIMEOUT, .io_timeout = IO_TIMEOUT }; Device_Error* error = device_local_1(¶ms, context->clnt); if (error != NULL && error->error == 0) return 1; @@ -393,7 +396,7 @@ int vxi11_lock(VXI11Context* context, bool waitforlock) { return 0; } Device_LockParms params = { .lid = context->devicelink, .flags = vxi11_generateflags(waitforlock, false, false), - .lock_timeout = VXI11_DEFAULT_TIMEOUT }; + .lock_timeout = LOCK_TIMEOUT }; Device_Error* error = device_lock_1(¶ms, context->clnt); if (error != NULL && error->error == 0) return 1; @@ -477,7 +480,7 @@ static gpointer interruptthreadfunc(gpointer data) { my_pollfd[i].revents = 0; } - switch (i = poll(my_pollfd, max_pollfd, VXI11_DEFAULT_TIMEOUT)) { + switch (i = poll(my_pollfd, max_pollfd, POLL_TIMEOUT)) { case -1: break; case 0: |