I have done some further research into this. The problem is indeed a
busy wait loop in the ttol function in gunixio.c see the following
lines:
824 while (n > 0) {
825 i = write(1,&s[m],n);
826 if (i < 0) {
827 if (errno == EWOULDBLOCK)
828 continue;
829 logerr("ttol write");
8
I now have a patch for this bug which detects when we have enabled
non-blocking mode on stdout because it shares the file table entry with
stdin and closes and reopens stdout to get it back to blocking mode. I
have tested this and it appears to solve the problem so I attach it.
Common subdirect
Package: gkermit
Version: 1.0-5
Severity: normal
I have been observing 100% and near 100% CPU usage by the gkermit process
while sending a file. Given what gkermit should be doing, the power of
the CPU it is running on and the fact that most of the CPU use is system
time rather than user time
3 matches
Mail list logo