Added extern C wrapper around yield()