Re: [PATCH v7 03/15] bugreport: add tool to generate debugging info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Emily Shaffer <emilyshaffer@xxxxxxxxxx> writes:

> launch_specified_editor() has a handful of exit points, of three kinds:
>  1. return error(something)
>  2. raise(sigsomething)
>  3. return 0
>     a. when the editor process closed happily, but the user supplied
>        NULL instead of a buffer. That is, the user didn't want the
>        contents of the editor given back to them in a strbuf.
>     b. when the editor process closed happily and the user's supplied
>        buffer was filled with the file's contents with no issue.
>
> So I think we can check "yes" here.

Heh.  If we raised a signal to kill ourselves, then we won't be
returning a value from launch_editor() anyway.  That case won't
affect the "between returning negation or !!, which is more
appropriate?" discussion, I think.

>>  - we MUST NOT care to differenciate different error codes returned
>>    from launch_editor().  IOW, we must be fine to give the invoker
>>    of the program only 0 (success) or 1 (unspecified failure).

I actually think this holds for the codepath.  A failure from
start_command() returns error(), and finish_command() that waits for
the spawned editor process to complete yields the exit status from
the editor, but unless we re-raise the signal that killed the editor
process to ourselves, we just turn any non-zero exit into "return
error()", so it is safe to say launch_editor() can return either 0
or -1 and nothing else.  Would we later want to tell callers of
launch_editor() how/why the editor session failed by returning
something else?  I do not offhand think of any---we do not even
differenciate between failure to start (e.g. misspelt command name
for the editor) and other failures WITH the return value and
consider it sufficient to tell the user with different error
message right now.

So in practice returning -launch_editor() and !!launch_editor()
would not make any difference, I would think.




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux