Skip to content

Conversation

@torlando-tech
Copy link

I ran into issues with multiprocessing in chaquopy where stamp generation would fail due to Android's aggressive process culling. I explored changing python's multiprocessing to threads, but it seems there is some GIL limitation that results in only one thread running at a time, which greatly slows it down.

This change lets Columba do stamp generation in Kotlin, which ends up roughly twice as fast as the python version.

No worries if you'd rather not merge this (or do it differently!), I don't mind maintaining a fork for Columba.

Thank you!

Add set_external_generator() function to LXStamper.py that allows
platforms like Android to provide a native stamp generator callback.
This bypasses Python multiprocessing which fails on Android due to
lack of sem_open support and aggressive process killing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@markqvist
Copy link
Owner

Great idea. I'll look at merging this during the next round of work on LXMF, and should have it ready for the next release. Hope you can just use it internally in Columba until then.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants