On Tue, Aug 21, 2012 at 5:07 AM, Vincent Torri <vincent.to...@gmail.com> wrote: > > On Tue, Aug 21, 2012 at 9:56 AM, Gustavo Sverzut Barbieri > <barbi...@profusion.mobi> wrote: > > On Tue, Aug 21, 2012 at 4:32 AM, Vincent Torri > > <vincent.to...@gmail.com>wrote: > > > >> Hey > >> > >> another mail for the status on Windows: > >> > >> 1) cserve2 is not even compiling as shm_open() and (worse) fork() are > >> used in a part of the code that should be OS independent. If cserve2 > >> is going to be e required dep for the next evas, i fear that the > >> Windows development will stop. > > > > > > You were supported to do a port of cserve2 to Windows or other Non-Linux > > platforms: > > and you were supposed to put code specific to linux in separate files, > which is not the case. You even don't check that the functions you use > are available in configure.ac. For example, shm_open does not exist on > OpenBSD (a quick search on google and i found that : > http://www.groupsrv.com/linux/about60282.html and note that i don't > know anything about those functions, so the link is to help you, > that's all)
Actually the lazy approach of "let's see who will complain and when". It took months, but it finally happened :-) > > - _cserve2_slave_proc_run() could be changed to be specific of that > > platform. It uses fork(), exec() and pipe(), but you can replace the whole > > function with something that makes sense on windows. Just cope with > > read_cb() and dead_cb() and you're fine! > > hopefully for you you don't know the win32 API you would be afraid of > how difficult it is to port those functions (at least for me) I mean, the port needs to be more intelligent. We do not want to mimic the API. We want to be fast and reliable on platforms, you just need to keep the concept the same: This function will create a slave process to load actual pixels and send them to the server. You must alert when there is data to read, and when the slave died. That's it. How to map this to Windows? Is there a way to create an isolated process that, if crashed, will not impact the main process? If so, how to send data between two process efficiently? I've read that at least Windows NT and following have very complex semantics to create process and define its memory. Maybe we could use these? > > - you need a different main loop file, > > see evas_cserve2_main_loop_linux.c, Very likely we can move the slave > > manager code into a _linux.c as well? > > only you can answer that question very likely yes. Iván and Antogolli, would you look into that? > > - slave and server communicates heavy data using shmem. That's the most > > efficient system on linux, you'll need to figure out what's the best to use > > on Windows. It must be HIGH PERFORMANCE. > > high perf ? on Windows ? there is anyway only one way to use shared > mem on windows, so if it's slow, i can't do much... Really? What are other options that are fast? We're talking about an average of 1-10Mb per shared instance, it's read-only on clients. It would be best if the memory would be shared since we save having copies in every client. -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Live Security Virtual Conference Exclusive live event will cover all the ways today's security and threat landscape has changed and how IT managers can respond. Discussions will include endpoint security, mobile security and the latest in malware threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel