Geekzone: technology news, blogs, forums
Welcome Guest.
You haven't logged in yet. If you don't have an account you can register now.

1206 posts

Uber Geek
+1 received by user: 139

Topic # 83431 16-May-2011 22:00
Send private message

For reasons which are unimportant, we have something like the following code snippet...


foreach($Threads as $Thread)
$childpid = pcntl_fork();
if($childpid == 0)
echo "!! Forked\n"; $this->flush();
$rc = $this->ftp_puller_thread($Thread);
elseif($childpid > 0)
// We are the parent, spawn another (or fall through to wait on the exit statuses)
$ThreadsRunning[$childpid] = true;
sleep(rand(5,20)); // Don't hammer
$childpid = pcntl_wait($status);
if($childpid > 0)
if(pcntl_wexitstatus($status) > 0) $Result = FALSE;

which works, except, when the child exits, it seems to close out the browser connection, the parent never gets to finish doing what it's doing (nor I expect do other children). I'm GUESSING that php in it's cleanup etc is telling mod_fastcgi that it's done, when in fact, it's not, only a child is done. Has anybody got any clue on any way I might be able to STOP php from doing that, while still retaining the exit status (that is, I don't want to do a sigint 9 or something else ugly like that).


James Sleeman
I sell lots of stuff for electronic enthusiasts...

Create new topic

1206 posts

Uber Geek
+1 received by user: 139

  Reply # 469923 17-May-2011 00:54
Send private message

I ended up having to have the child write it's exit status to a file then send itself SIGKILL, parent waits to reap the child and reads the exit status from the appropriate file.

Not pretty really, but I guess it works well enough :-/

James Sleeman
I sell lots of stuff for electronic enthusiasts...

Create new topic

Twitter »

Follow us to receive Twitter updates when new discussions are posted in our forums:

Follow us to receive Twitter updates when news items and blogs are posted in our frontpage:

Follow us to receive Twitter updates when tech item prices are listed in our price comparison site:

News »

Vodafone TV — television in the cloud
Posted 17-Oct-2017 19:29

Nokia 8 review: Classy midrange pure Android phone
Posted 16-Oct-2017 07:27

Why carriers might want to embrace Commerce Commission study, MVNOs
Posted 13-Oct-2017 09:42

Fitbit launches Ionic, its health and fitness smartwatch
Posted 12-Oct-2017 15:52

Xero launches machine learning automation to improve coding accuracy for small businesses
Posted 12-Oct-2017 15:45

Bank of New Zealand uses Intel AI to detect financial crime
Posted 12-Oct-2017 15:39

Sony launches Xperia XZ1, a smartphone with real-time 3D capture
Posted 11-Oct-2017 10:26

Notes on Nokia’s phone comeback
Posted 10-Oct-2017 10:06

Air New Zealand begins Inflight Wi-Fi rollout
Posted 9-Oct-2017 20:16

The latest mobile phones in perspective
Posted 9-Oct-2017 18:34

Review: Acronis True Image 2018 — serious backup
Posted 8-Oct-2017 11:22

Lenovo launches ThinkPad Anniversary Edition 25
Posted 7-Oct-2017 23:16

Less fone, more tech as Vodafone gets brand make-over
Posted 6-Oct-2017 08:16

API Talent Achieves AWS MSP Partner Status
Posted 5-Oct-2017 21:20

Stellar Consulting Group now a Domo Partner
Posted 5-Oct-2017 21:03

Geekzone Live »

Try automatic live updates from Geekzone directly in your browser, without refreshing the page, with Geekzone Live now.

Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly to your computer or smartphone by using a feed reader.

Alternatively, you can receive a daily email with Geekzone updates.