ChildWatchSource
Description:
Creates a new child_watch source.
The source will not initially be associated with any MainContext and must be added to one with attach before it will be executed.
Note that child watch sources can only be used in conjunction with `g_spawn...` when the g_spawn_do_not_reap_child flag is used.
Note that on platforms where Pid must be explicitly closed (see 
      close_pid) pid must not be closed while the source is still 
      active. Typically, you will want to call close_pid in the callback function 
      for the source.
On POSIX platforms, the following restrictions apply to this API due to limitations in POSIX process interfaces:
* pid must be a child of this process * pid must be positive * the application must not call `waitpid` with a 
      non-positive  first argument, for instance in another thread * the application must not wait for pid to exit by any other  
      mechanism, including `waitpid(pid, ...)` or a second child-watch  source for the same pid * the application must not ignore 
      `SIGCHLD` * Before 2.78, the application could not send a signal (`kill()`) to the  watched pid in a race free manner. Since 2.78, 
      you can do that while the  associated MainContext is acquired. * Before 2.78, even 
      after destroying the SignalSource, you could not  be sure that pid
       wasn't already reaped. Hence, it was also not  safe to `kill()` or `waitpid()` on the process ID after the child watch  source was gone.
       Destroying the source before it fired made it  impossible to reliably reap the process.
If any of those conditions are not met, this and related APIs will not work correctly. This can often be diagnosed via a GLib warning stating that `ECHILD` was received by `waitpid`.
Calling `waitpid` for specific processes other than pid remains a valid thing to do.
Parameters:
| pid | process to watch. On POSIX the positive pid of a child process. On Windows a handle for a process (which doesn't have to be a child). | 
Returns:
| the newly-created child watch source |