bug#64039: C-procedure runs when called from C-code, but hags when called from Guile

Mike Gran via "Bug reports for GUILE, GNU's Ubiquitous Extension Language" <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
Hello-

I don't see the problem with the shutter.

But the GetStatus lines should be more like what is below. Your current code
only checks status once.

do {
  GetStatus(&status);
} while (status== DRV_ACQUIRING);





On Tuesday, June 13, 2023 at 04:29:46 AM PDT, Михаил Бахтерев <[email protected]> wrote: 





Greetings.

1. The version

$ guile --version
guile (GNU Guile) 3.0.9

2. The machine

$ uname -a
Linux bioscope 6.3.7-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 10 Jun 2023 00:35:35 +0000 x86_64 GNU/Linux

3. The package

$ pacman -Qi guile
Version         : 3.0.9-1
Architecture    : x86_64
Depends On      : gmp  ncurses  libunistring  gc  libffi  libxcrypt

4. The problem

I'm working on application for scientific computer vision. We use one of the Andor camera. I've decided to code configuration and user interface parts in Guile Scheme, as to my experience, it is a lot simpler. But i've encountered strange error.

Attached archive contains three source files. cam.c implements simple sequence of interactions with camera driver. That sequence should result in image acquisition and in the clicking of camera shutter. I've built shared library from this code (see makefile, please) and have linked it with simple main program (test.c). When i run resulting binary, i get

$ ./test 
INITIALIZATION
CONFIGURATION
ACQUISITION
-- shutter clicks here
AWAITING
SHUTTING DOWN

When i try to run this code from Guile Scheme, as extension, it hangs.

$ guile test.scm 
defining single-shot
INITIALIZATION
CONFIGURATION
ACQUISITION
AWAITING
-- no shutter clicking
^C

I do not understand how to debug further, so i just include straces of both runs in attached archive. If anyone will give me some directions for investigation of the problem, i'll try to do my best. Thanks in advance!

- Respectfully, Mike.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.