swr/rast: quit using linux-specific gettid()

Linux-specific gettid() syscall shouldn't be used in portable code.
Fix does assume a 1:1 thread:LWP architecture, but works for our
current target platforms and can be revisited later if needed.

Fixes unresolved symbol in linux scons builds.

v2: add comment in code about the 1:1 assumption.

Cc: mesa-stable@lists.freedesktop.org
Reviewed-by: Bruce Cherniak <bruce.cherniak@intel.com>
(cherry picked from commit d1e7153228)
This commit is contained in:
Tim Rowley 2017-07-21 11:38:39 -05:00 committed by Emil Velikov
parent 57bf8e1cd8
commit a488340bd1
2 changed files with 3 additions and 4 deletions

View file

@ -67,8 +67,9 @@ namespace ArchRast
char buf[255];
// There could be multiple threads creating thread pools. We
// want to make sure they are uniquly identified by adding in
// the creator's thread id into the filename.
sprintf(buf, "%s/ar_event%d_%d.bin", "/tmp", GetCurrentThreadId(), id);
// the creator's thread (process) id into the filename.
// Assumes a 1:1 thread:LWP mapping as in linux.
sprintf(buf, "%s/ar_event%d_%d.bin", "/tmp", GetCurrentProcessId(), id);
mFilename = std::string(buf);
#endif
}

View file

@ -235,8 +235,6 @@ void AlignedFree(void* p)
#define sprintf_s sprintf
#define strcpy_s(dst,size,src) strncpy(dst,src,size)
#define GetCurrentProcessId getpid
pid_t gettid(void);
#define GetCurrentThreadId gettid
#define CreateDirectory(name, pSecurity) mkdir(name, 0777)