|
37 | 37 | *
|
38 | 38 | *
|
39 | 39 | * IDENTIFICATION
|
40 |
| - * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.480 2006/02/01 00:31:59 momjian Exp $ |
| 40 | + * $PostgreSQL: pgsql/src/backend/postmaster/postmaster.c,v 1.481 2006/02/0116:00:06 momjian Exp $ |
41 | 41 | *
|
42 | 42 | * NOTES
|
43 | 43 | *
|
@@ -3336,7 +3336,18 @@ SubPostmasterMain(int argc, char *argv[])
|
3336 | 3336 | /* Need a PGPROC to run CreateSharedMemoryAndSemaphores */
|
3337 | 3337 | InitProcess();
|
3338 | 3338 |
|
3339 |
| -/* Attach process to shared data structures */ |
| 3339 | +/* |
| 3340 | + *Attach process to shared data structures. If testing |
| 3341 | + *EXEC_BACKEND on Linux, you must run this as root |
| 3342 | + *before starting the postmaster: |
| 3343 | + * |
| 3344 | + *echo 0 >/proc/sys/kernel/randomize_va_space |
| 3345 | + * |
| 3346 | + *This prevents a randomized stack base address that causes |
| 3347 | + *child shared memory to be at a different address than |
| 3348 | + *the parent, making it impossible to attached to shared |
| 3349 | + *memory. Return the value to '1' when finished. |
| 3350 | + */ |
3340 | 3351 | CreateSharedMemoryAndSemaphores(false,0);
|
3341 | 3352 |
|
3342 | 3353 | /* And run the backend */
|
|