* win32/win32.c (wlink, rb_w32_getppid): use typedef instead of

repeating compilcated function prototypes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29886 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-11-23 12:59:50 +00:00
Родитель 3c575a15c2
Коммит 16cb5ce483
2 изменённых файлов: 11 добавлений и 4 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Tue Nov 23 21:59:47 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* win32/win32.c (wlink, rb_w32_getppid): use typedef instead of
repeating compilcated function prototypes.
Tue Nov 23 18:54:03 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* vm.c (rb_thread_mark): should mark self in conrol

Просмотреть файл

@ -3815,11 +3815,12 @@ kill(int pid, int sig)
static int
wlink(const WCHAR *from, const WCHAR *to)
{
static BOOL (WINAPI *pCreateHardLinkW)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES) = NULL;
typedef BOOL (WINAPI link_func)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
static link_func *pCreateHardLinkW = NULL;
static int myerrno = 0;
if (!pCreateHardLinkW && !myerrno) {
pCreateHardLinkW = (BOOL (WINAPI *)(LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES))get_proc_address("kernel32", "CreateHardLinkW", NULL);
pCreateHardLinkW = (link_func *)get_proc_address("kernel32", "CreateHardLinkW", NULL);
if (!pCreateHardLinkW)
myerrno = ENOSYS;
}
@ -4662,12 +4663,13 @@ rb_w32_getpid(void)
rb_pid_t
rb_w32_getppid(void)
{
static long (WINAPI *pNtQueryInformationProcess)(HANDLE, int, void *, ULONG, ULONG *) = NULL;
typedef long (WINAPI query_func)(HANDLE, int, void *, ULONG, ULONG *);
static query_func *pNtQueryInformationProcess = NULL;
rb_pid_t ppid = 0;
if (!IsWin95() && rb_w32_osver() >= 5) {
if (!pNtQueryInformationProcess)
pNtQueryInformationProcess = (long (WINAPI *)(HANDLE, int, void *, ULONG, ULONG *))get_proc_address("ntdll.dll", "NtQueryInformationProcess", NULL);
pNtQueryInformationProcess = (query_func *)get_proc_address("ntdll.dll", "NtQueryInformationProcess", NULL);
if (pNtQueryInformationProcess) {
struct {
long ExitStatus;