[minicom-Bugs][312517] scripts never exit -- minicom hangs
minicom-bugs at alioth.debian.org
minicom-bugs at alioth.debian.org
Sun May 30 09:03:10 UTC 2010
Bugs item #312517, was changed at 2010-05-27 20:05 by Chris Simmonds
You can respond by visiting:
https://alioth.debian.org/tracker/?func=detail&atid=100031&aid=312517&group_id=30018
Status: Open
Priority: 3
Submitted By: Jesse Gilles (gillesj-guest)
Assigned to: Nobody (None)
Summary: scripts never exit -- minicom hangs
Category: None
Group: None
Resolution: None
Initial Comment:
If you run a script from within minicom while attached to a serial port, the script doesn't exit when finished. Minicom hangs indefinitely, until the user hits CTRL-C. Then the script exits and control is returned to minicom as normal. Also, any output from the commands executed by the script are only printed after the user presses CTRL-C. Adding an expiclit "exit 0" command to the script makes no difference.
This seems to be a new bug in minicom 2.4 -- I had no problems running scripts with minicom 2.3.
----------------------------------------------------------------------
Comment By: Chris Simmonds (chrissimmonds-guest)
Date: 2010-05-30 09:03
Message:
The problem is in the handling of the call to poll in updown.c. The patch below fixes it.
Bye for now
Chris.
--- minicom-2.4/src/updown.c 2010-05-30 09:55:26.754320642 +0100
+++ minicom-2.4-devel/src/updown.c 2010-05-30 09:58:35.014335459 +0100
@@ -665,7 +649,11 @@
fds[1].fd = STDIN_FILENO; /* stdin */
fds[1].events = POLLIN;
script_running = 1;
- while (script_running && poll(fds, 2, -1) > 0)
+ while (script_running && poll(fds, 2, -1) > 0) {
+ /* Bail on events other than POLLIN from pipefd.
+ Fixes bug #312517. Chris Simmonds, chris at 2net.co.uk */
+ if ((fds[0].revents & (POLLERR | POLLHUP | POLLNVAL)))
+ break;
for (i = 0; i < 2; i++)
if ((fds[i].revents & POLLIN)
&& (n = read(fds[i].fd, buf, sizeof(buf)-1)) > 0) {
@@ -678,6 +666,7 @@
timer_update();
mc_wflush();
}
+ }
/* Collect status, and clean up. */
m_wait(&status);
----------------------------------------------------------------------
You can respond by visiting:
https://alioth.debian.org/tracker/?func=detail&atid=100031&aid=312517&group_id=30018
More information about the minicom-devel
mailing list