Check-in [83413b9bcf]

Login
FlightAware bounty program for improvements to Tcl and certain Tcl packages.

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

Overview
Comment:Add another advantage (as formulated by Donald G Porter)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256:83413b9bcffe1f47337a88dd8c741e429897c4af607a072e549e57844031a4db
User & Date: jan.nijtmans 2018-04-25 11:33:15
Context
2018-05-02
11:53
TIP #491 now in voting check-in: f80463ea2a user: jan.nijtmans tags: trunk
2018-04-25
11:33
Add another advantage (as formulated by Donald G Porter) check-in: 83413b9bcf user: jan.nijtmans tags: trunk
2018-04-22
15:56
TIP #496 accepted 6/0/0: YES: 6 (Fellows, Griffin, Kenny, Landers, Nijtmans, Vogel). NO: -. PRESENT: -. check-in: db99228e7f user: fvogel tags: trunk
Changes

Changes to tip/491.md.

28
29
30
31
32
33
34




35
36
37
38
39
40
41
Further on, the nmake build system uses a different suffix, `t`, than the autoconf-based build system, a historical
mistake that cannot be corrected in a patch release. Let's correct that in Tcl 8.7.

A common misconception is that non-threaded builds are necessary to make `vfork()` and/or signals work correctly. That
may have been true in the past, but not any more: `vfork()` works fine in threaded builds, the only caveat is that
threads started before the vfork don't survive the fork. So, as long as new threads are created after doing the fork,
everything should work fine. Applications like AOLserver use this already.





# Proposal

  * Include the following snippet in `tcl.h`:
  <pre>
     #ifndef TCL\_THREADS
	 #   define TCL\_THREADS 1







>
>
>
>







28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Further on, the nmake build system uses a different suffix, `t`, than the autoconf-based build system, a historical
mistake that cannot be corrected in a patch release. Let's correct that in Tcl 8.7.

A common misconception is that non-threaded builds are necessary to make `vfork()` and/or signals work correctly. That
may have been true in the past, but not any more: `vfork()` works fine in threaded builds, the only caveat is that
threads started before the vfork don't survive the fork. So, as long as new threads are created after doing the fork,
everything should work fine. Applications like AOLserver use this already.

If the developers of Tcl itself can count on threading facilities as part of the foundation, they can be free to use
threads when useful in writing the code of the Tcl library itself, without being bound to also invent a thread-free
version to cover the --disable-threads configuration.

# Proposal

  * Include the following snippet in `tcl.h`:
  <pre>
     #ifndef TCL\_THREADS
	 #   define TCL\_THREADS 1