Hang in tcdrain(3) after write(3)

Jeffrey Walton noloader at gmail.com
Mon Nov 25 15:14:31 PST 2019


Hi Everyone,

I'm testing some software on DragonFly. There's not much to it. It
talks to the modem, and sends an ATZ and then reads the response.
Linux, FreeBSD, NetBSD, OpenBSD and OS X are OK.

My test rig is DragonFly 5.6-RELEASE x86_64 (fully patched) with a
USR5637 modem, https://www.amazon.com/gp/product/B0013FDLM0. The modem
is located at /dev/cuaU0.

DragonFly hangs on the call to tcdrain(3). Looking at the man page I
don't see any special handling. Cf.,
http://man.dragonflybsd.org/?command=tcdrain.

Attached is the reproducer. The trace is:

% ./test.exe
Setting TIOCEXCL
Getting tty
Setting tty options
Flushing tty
Setting tty
Writing ATZ
Waiting for write  <<-- call to tcdrain(fd)

Thanks.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: modem-read.c
Type: text/x-csrc
Size: 2919 bytes
Desc: not available
URL: <http://lists.dragonflybsd.org/pipermail/users/attachments/20191125/35f6b51a/attachment-0002.bin>


More information about the Users mailing list