Mmmm creo que no se entendió mi pregunta, no importa, gracias igual. Saludos,
Hernán El día 30 de agosto de 2010 14:02, Andres Valloud <[email protected]> escribió: > Con DLLCC y el pragma _wincall, si la funcion que llamas falla, > entonces la VM llama a GetLastError() y la primitiva que llama > funciones de C falla devolviendo una pseudo variable temporal que > contiene el codigo que devolvio GetLastError(). Como todo eso ocurre > en el mismo thread, entonces es atomico. En *nix hay _syscall. > > 2010/8/30 Hernán Morales Durand <[email protected]>: >> ¿Entonces usando DLLCC podés asegurar atomicidad de grano grueso? Te >> pregunto porque nunca usé DLLCC y no entiendo si tu problema es >> esencialmente de concurrencia, de convención de llamadas o >> portabilidad (me imagino que ese _wincall no funciona en Linux :) >> Saludos, >> >> Hernán >> >> El día 30 de agosto de 2010 18:17, Andres Valloud >> <[email protected]> escribió: >>> Por eso dije que en DLLCC existe el pragma _wincall. El problema, sin >>> embargo, es que a veces tenes que llamar a WSAGetLastError(), o a >>> CuchuflitoGetLastError(), o la convencion de indicacion de errores es >>> diferente para un DLL que hizo algun otro, y en general no se puede >>> andar agregando _mongocall, _juanperezcall y otros pragmas asi tan >>> facil. Para esos, lo mejor es escribir una primitiva chiquita en C y >>> llamarla desde la imagen. >>> >>> 2010/8/30 Hernán Morales Durand <[email protected]>: >>>> El día 28 de agosto de 2010 02:59, Andres Valloud >>>> <[email protected]> escribió: >>>>> Yendo un poco mas a fondo... en general el tema con esos pragmas es >>>>> que no cubren todas las funciones habidas y por haber. Por ejemplo, >>>>> en Windows cuando usas sockets tenes que llamar a WSAGetLastError() en >>>>> vez de GetLastError()... se imaginan que no se puede andar agregando >>>>> _wsawincall, _pirulocall, _mongocall etc todo el tiempo para >>>>> contemplar todos los casos posibles. Por eso es que, si la cosa se >>>>> pone peliaguda, lo mejor es ni usar un FFI y escribir primitivas >>>>> directamente. >>>> >>>> ¿Qué te impide implementar un mecanismo de sincronización por >>>> exclusión mutua o por condición a nivel FFI? >>>> >>>> Hernán >>>> >>>> -- >>>> To post to this group, send email to [email protected] >>>> To unsubscribe from this group, send email to >>>> [email protected] >>>> >>>> http://www.clubSmalltalk.org >>> >>> -- >>> To post to this group, send email to [email protected] >>> To unsubscribe from this group, send email to >>> [email protected] >>> >>> http://www.clubSmalltalk.org >> >> -- >> To post to this group, send email to [email protected] >> To unsubscribe from this group, send email to >> [email protected] >> >> http://www.clubSmalltalk.org > > -- > To post to this group, send email to [email protected] > To unsubscribe from this group, send email to > [email protected] > > http://www.clubSmalltalk.org -- To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] http://www.clubSmalltalk.org
