Check-in [a6e21badea]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:tweaks for fork/exec on haiku
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: a6e21badeacd6f9a16c353b3d0334c0751092730
User & Date: chw 2019-09-12 09:24:41
Context
2019-09-12
09:36
add selected tcl upstream changes check-in: 755ff795c0 user: chw tags: trunk
09:24
tweaks for fork/exec on haiku check-in: a6e21badea user: chw tags: trunk
05:51
support --enable-video-jsmpeg in SDL2 on haiku check-in: 7aceb25c1b user: chw tags: trunk
Changes

Changes to jni/tcl/unix/tclUnixNotfy.c.

1589
1590
1591
1592
1593
1594
1595

1596

1597
1598
1599
1600
1601
1602
1603

    Tcl_InitNotifier();

    /*
     * Restart the notifier thread for signal handling.
     */


    StartNotifierThread("AtForkChild");

}
#endif /* HAVE_PTHREAD_ATFORK */

#endif /* TCL_THREADS */

#endif /* !HAVE_COREFOUNDATION */
 







>

>







1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605

    Tcl_InitNotifier();

    /*
     * Restart the notifier thread for signal handling.
     */

#if !defined(__HAIKU__)
    StartNotifierThread("AtForkChild");
#endif
}
#endif /* HAVE_PTHREAD_ATFORK */

#endif /* TCL_THREADS */

#endif /* !HAVE_COREFOUNDATION */
 

Changes to jni/tclx/unix/tclXunixOS.c.

833
834
835
836
837
838
839








840
841
842
843
844
845
846

    pid = fork ();
    if (pid < 0) {
        TclX_AppendObjResult (interp, "fork failed: ",
                              Tcl_PosixError (interp), (char *) NULL);
        return TCL_ERROR;
    }









    Tcl_SetIntObj (Tcl_GetObjResult (interp), (int)pid);
    return TCL_OK;
#endif
}
 
/*-----------------------------------------------------------------------------







>
>
>
>
>
>
>
>







833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854

    pid = fork ();
    if (pid < 0) {
        TclX_AppendObjResult (interp, "fork failed: ",
                              Tcl_PosixError (interp), (char *) NULL);
        return TCL_ERROR;
    }

#ifdef __HAIKU__
    /*
     * Restart Tcl notifier thread.
     */

    Tcl_ServiceModeHook(TCL_SERVICE_ALL);
#endif

    Tcl_SetIntObj (Tcl_GetObjResult (interp), (int)pid);
    return TCL_OK;
#endif
}
 
/*-----------------------------------------------------------------------------