[HN Gopher] Interactive Programming in C (2014)
       ___________________________________________________________________
        
       Interactive Programming in C (2014)
        
       Author : ofalkaed
       Score  : 47 points
       Date   : 2025-07-23 17:16 UTC (5 hours ago)
        
 (HTM) web link (nullprogram.com)
 (TXT) w3m dump (nullprogram.com)
        
       | lkuty wrote:
       | Tsoding made a video about hot code reloading in C
       | (https://www.youtube.com/watch?v=Y57ruDOwH1g) and also used the
       | same concept in "My Own 3b1b Animation Engine but in C"
       | (https://www.youtube.com/watch?v=RVwuYgXNUCM).
        
       | uticus wrote:
       | > When the library loads without error, look up the GAME_API
       | struct.... If looking up the GAME_API fails, close the handle and
       | consider it a failure.
       | 
       | Error handling strategies, and what fallback state things fall
       | into when the hot code breaks, would be great to hear about.
        
       | 90s_dev wrote:
       | I did something similar ones as a vs code extension for love2d
       | which I called live2d, so that you could develop your game while
       | it was running. It was incredibly fun, but incredibly hard to
       | use, and nobody had any interest in it, so I abandoned it and
       | lost the source code eventually. But it worked so well. I had
       | invented this thing called magic tables to go along with it and
       | make it easier to use, I forgot what they did, I just remember
       | the name and how cool it was.
        
       | RustyRussell wrote:
       | Andrew Tridgell's KnightCap did this differently: it's a network
       | chess server, and it would dump its data to a file and re-exec.
       | The trick here is that it would keep the (network) fds open for
       | zero downtime. IIRC he used a Perl script called datadumper to
       | gen the code marshal/demarshal the structures.
       | 
       | This has the advantage that reboots can be handled fairly
       | seemlessly too (though there will be reconnections then of).
        
         | sitkack wrote:
         | https://man7.org/linux/man-pages/man2/pidfd_getfd.2.html
         | 
         | https://gist.github.com/kentonv/bc7592af98c68ba2738f44369208...
         | 
         | For those curious research "SCM_RIGHTS" (Socket-Level Control
         | Message) and sendmsg/recvmsg
        
       ___________________________________________________________________
       (page generated 2025-07-23 23:00 UTC)