Folks,
I am trying to write a driver for the Prosilica Gigabit Ethernet cameras under Linux. They provide a pre-built library for controlling their cameras. One of the notes for this library says the following:
* As the API use some signals internally, it is required to "protect" some of your system calls (such as sem_wait) from been interupted. This can be done by calling the system call from within a loop and only exiting from it if there was no error or if errno is different from EINTR.
When I run an EPICS application that calls this library it crashes and this is the output of gdb:
(gdb) bt
#0 0x0808ce33 in SIGAction ()
#1 0x0821bf4d in ignoreSigAlarm (signal=14) at ../../../src/libCom/osi/os/posix/osdSignal.cpp:109
#2 <signal handler called>
#3 0x00110416 in __kernel_vsyscall ()
#4 0x002ce671 in select () from /lib/libc.so.6
#5 0x0808d21e in pPvMultiplexer::Body ()
#6 0x08090e00 in _ThreadFunction ()
#7 0x003b932f in start_thread () from /lib/libpthread.so.0
#8 0x002d620e in clone () from /lib/libc.so.6
The same application works fine under Windows, linked with a Prosilica DLL that uses the identical API to their Linux library.
Does anyone have ideas on how to fix this?
Thanks,
Mark
- Replies:
- Re: Question on signals with Linux Andrew Johnson
- Navigate by Date:
- Prev:
Problems getting edm functional on NetBSD David Dudley
- Next:
Re: Question on signals with Linux Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: Problems getting edm functional on NetBSD David Dudley
- Next:
Re: Question on signals with Linux Andrew Johnson
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
<2008>
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|