What you have shown is two threads having entirely independent GUIs with no overlap, either in terms of responsibility, or time - it would be extremely difficult for a user to click on two elements sufficiently quickly for any un-thread-safe code in the back end to execute simultaneously. If you want to test whether something is thread-safe, you need to run things on a busy loop basis, rather than user input.
As a quick example, in iup_table.c you can find the iTableRemoveItem routine which contains /* re-order the remaining items */ for (i = itemIndex; i < entry->nextItemIndex-1; i++) entry->items[i] = entry->items[i+1]; Were two threads to attempt that on the same entry simultaneously, utter mayhem would ensue. Even worse things might happen if two reallocs overlapped. I am not saying the above is bad or wrong, just a cause for concern in a multi-threaded sense, and there will be plenty of similar examples in kernel32.dll and gtk.so, etc. What would be more interesting to me is a background thread managing to inform the main gui thread that it has completed some requested task, in a non-polling manner, especially on gtk. Pete -------------------------------------------- On Sat, 18/2/17, John Spikowski <supp...@scriptbasic.org> wrote: I don't think IUP would take much to support threading. > > > > I thought I would share my success with multi-threading IUP on > > > > Windows > > > > 10 with Script BASIC. I'm still early on with testing but so > > > > far things look promising. ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Iup-users mailing list Iup-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/iup-users