[Date Prev][Date Next] [Chronological] [Thread] [Top]

Bug with pid in back-shell abandon (ITS#2519)



Full_Name: Hallvard B. Furuseth
Version: HEAD, 2.1.19
OS: 
URL: 
Submission from: (NULL) (129.240.186.42)


back-shell abandon has been buggy at least since rev 1.18.
I suspect it's partly my fault:-(

Among other things, it no longer kill()s the operation's process
if there is no shell command defined for abandon, even though a
comment in the code claims that it does.  Is that intentional?

The code now does

    if (no abandon shell command defined)
        pid = <pid of operation, or -1 if not found>;
    if (pid == -1) {
        Debug(operation not found);
        return 0;
    }
    <fork process, send it info including possibly uninitialized pid>;

I propose to fix it in HEAD and RE21 to

    pid = <pid of operation, or -1 if not found>;
    if (pid == -1) {
        Debug(operation not found);
        return 0;
    }
    if (no abandon shell command defined)
        kill(pid, SIGTERM); /* This disappeared in rev 1.18 */
    else
        <fork process, send it info including pid>;

Comments?

(BTW, how do I update RE21?  Just do
   cvs -z3 checkout -P -ROPENLDAP_REL_ENG_2_1 ldap
and commit as usual?)