Overview
Comment: | Don't depend on OFMutex in OFFile.
+[load] creates 3 instances of OFFile and thus +[initialize] is also |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
36434923ad0d0b4550d8c34138469c2e |
User & Date: | js on 2011-10-07 11:19:58 |
Other Links: | manifest | tags |
Context
2011-10-09
| ||
13:05 | Adjust objfw-config and objfw-compile to buildsys changes. check-in: 36464567d2 user: js tags: trunk | |
2011-10-07
| ||
11:19 | Don't depend on OFMutex in OFFile. check-in: 36434923ad user: js tags: trunk | |
2011-10-06
| ||
22:39 |
Fix a strange bug that was introduced by newer ld versions. The order of .o files is suddenly very important for +[load]. check-in: bb06d0f275 user: js tags: trunk | |
Changes
Modified src/Makefile from [e90d73cf15] to [995c3eb96d].
1 2 3 4 5 6 7 8 9 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | - - - - | include ../extra.mk SUBDIRS = exceptions SHARED_LIB = ${OBJFW_SHARED_LIB} STATIC_LIB = ${OBJFW_STATIC_LIB} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} |
︙ | |||
51 52 53 54 55 56 57 58 59 60 61 62 63 64 | 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | + | OFString.m \ OFString+Hashing.m \ OFString+Serialization.m \ OFString+URLEncoding.m \ OFString+XMLEscaping.m \ OFString+XMLUnescaping.m \ OFTCPSocket.m \ ${OFTHREAD_M} \ OFURL.m \ OFXMLAttribute.m \ OFXMLCDATA.m \ OFXMLCharacters.m \ OFXMLComment.m \ OFXMLElement.m \ OFXMLElement+Serialization.m \ |
︙ |
Modified src/OFFile.m from [d95eac9ee4] to [ec14d28310].
︙ | |||
35 36 37 38 39 40 41 | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | - + + + + | # include <grp.h> #endif #import "OFFile.h" #import "OFString.h" #import "OFArray.h" #ifdef OF_THREADS |
︙ | |||
89 90 91 92 93 94 95 | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | - + | #define DIR_MODE DEFAULT_MODE | S_IXUSR | S_IXGRP | S_IXOTH OFStream *of_stdin = nil; OFStream *of_stdout = nil; OFStream *of_stderr = nil; #if defined(OF_THREADS) && !defined(_WIN32) |
︙ | |||
159 160 161 162 163 164 165 | 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | - - + + + + + + | of_stdout = [[OFFileSingleton alloc] initWithFileDescriptor: 1]; of_stderr = [[OFFileSingleton alloc] initWithFileDescriptor: 2]; } #if defined(OF_THREADS) && !defined(_WIN32) + (void)initialize { |
︙ | |||
385 386 387 388 389 390 391 | 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 | + + - + | gid_t gid = -1; if (owner == nil && group == nil) @throw [OFInvalidArgumentException exceptionWithClass: self selector: _cmd]; # ifdef OF_THREADS if (!of_mutex_lock(&mutex)) @throw [OFMutexLockFailedException exceptionWithClass: self |
︙ | |||
418 419 420 421 422 423 424 | 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 | + + + - + | owner: owner group: group]; gid = group_->gr_gid; } # ifdef OF_THREADS } @finally { if (!of_mutex_unlock(&mutex)) @throw [OFMutexUnlockFailedException exceptionWithClass: self |
︙ |