ObjFW  Check-in [e16590dcb7]

Overview
Comment:Make threads work on Windows 98

Windows 98 does not like the pointer to a DWORD to store the thread ID
being NULL.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e16590dcb7a3a6267297b831ff4d0a10ae41d54fab6ab04cf3f6bf05a454425d
User & Date: js on 2020-06-14 15:30:53
Other Links: manifest | tags
Context
2020-06-14
15:32
Fix releasing semaphore stored in free'd memory check-in: 903b3326e2 user: js tags: trunk
15:30
Make threads work on Windows 98 check-in: e16590dcb7 user: js tags: trunk
2020-06-13
19:06
Fix "make distclean" leaving files check-in: 2a44ff3764 user: js tags: trunk
Changes

Modified src/platform/windows/thread.m from [890723e850] to [6d8493f63f].

33
34
35
36
37
38
39

40
41
42
43
44
45
46
47
48
	return true;
}

bool
of_thread_new(of_thread_t *thread, const char *name, void (*function)(id),
    id object, const of_thread_attr_t *attr)
{

	*thread = CreateThread(NULL, (attr != NULL ? attr->stackSize : 0),
	    (LPTHREAD_START_ROUTINE)function, (void *)object, 0, NULL);

	if (thread == NULL) {
		switch (GetLastError()) {
		case ERROR_NOT_ENOUGH_MEMORY:
			errno = ENOMEM;
			return false;
		case ERROR_ACCESS_DENIED:







>

|







33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
	return true;
}

bool
of_thread_new(of_thread_t *thread, const char *name, void (*function)(id),
    id object, const of_thread_attr_t *attr)
{
	DWORD threadID;
	*thread = CreateThread(NULL, (attr != NULL ? attr->stackSize : 0),
	    (LPTHREAD_START_ROUTINE)function, (void *)object, 0, &threadID);

	if (thread == NULL) {
		switch (GetLastError()) {
		case ERROR_NOT_ENOUGH_MEMORY:
			errno = ENOMEM;
			return false;
		case ERROR_ACCESS_DENIED: