[patch] fix console hang on freebsd

Hi everyone,

Please find attached patch, which fixes a console hang on the freebsd systems. This hang always occurs on a repeated launch of the process.
The following steps will reproduce the problem:

(lldb) target create /bin/hostname
Current executable set to '/bin/hostname' (x86_64).
(lldb) proc launch
Process 41002 launched: '/bin/hostname' (x86_64)
...
(lldb) proc kill
Process 41002 exited with status = -1 (0xffffffff)
* thread #1: tid = 0xa02a, , stop reason = trace
    frame #0:

(lldb) proc launch
Process 41003 launched: '/bin/hostname' (x86_64)
...
(lldb) ...<hang>...

Would somebody review and apply this patch?

Thanks.
Viktor.

lldb-freebsd-processmonitor-console-hang.patch (669 Bytes)

This is a FreeBSD only patch, I will let anyone involved with FreeBSD comment.

Sending source/Plugins/Process/FreeBSD/ProcessMonitor.cpp
Transmitting file data .
Committed revision 157735.

Thanks,

  Filipe

Looks good for FreeBSD. Viktor, thanks for the patch and Filipe for the commit.

As an observation, the ProcessMonitor code for FreeBSD and Linux should probably be looked at for alignment since FreeBSD is using fd/fork and Linux is using the lldb PseudoTerminal interface.

Mark

Hi Mark,

As an observation, the ProcessMonitor code for FreeBSD and Linux should probably be looked at for alignment since FreeBSD is using fd/fork and Linux is using the lldb PseudoTerminal interface.

The lldb PseudoTerminal is not working properly on my system. It needs an additional investigation to find a source of the problem. I'm planning to do it later.
Also, I have found a lot of identical code in the linux/freebsd plugins. May be it is optimal to collect and move all those identical parts into the posix plugin? What do you think?

Viktor.