developit / web-worker

Consistent Web Workers in browser and Node.

Home Page:https://npm.im/web-worker

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

worker starting further workers

gerdstolpmann opened this issue · comments

I recently ran into a bad trap: I had another require('web-worker') in the code of the child and not only in the parent. This doesn't work, because the workerThread function is then executed again. The symptom is that messages are received twice in the worker.

This was hard to figure out. Note that this is not really a user's error, because a web worker is normally allowed to start another web worker. So it makes sense in general. (In my code, I could simply comment the bad require out, though.)

I guess that you need to split node.js into two files for this, because the main/worker dichotomy doesn't work anymore when workers can start workers.

Interesting. There's probably a way to do it without the split by checking if initData was set. Good catch.

Would be awesome if this package supported worker recursion ... so used to the native MDN webworker syntax .. for now I'll have to use threadbox or thread.js or something :(