Avoid call to cl_engine_free(), which fails to exit in time.

New parameter piddir.

Require modern C compiler.
