aboutsummaryrefslogtreecommitdiff
path: root/src/threading/thread.cpp
Commit message (Collapse)AuthorAge
* DragonFly BSD is somewhat identical to FreeBSD (#8159)Leonid Bobrov2019-02-03
|
* Thread: fix a crash on Windows due to data race condition on ↵Loïc Blot2017-10-10
| | | | Thread::m_start_finished_mutex (#6515)
* Fix msvc annoyances (#5963)adrido2017-06-27
| | | | | | | | | | | | | | | | | | | | * MSVC: Fix '/std:c++11' is not a valid compiler option * MSVC/MINGW: Define 'WIN32_LEAN_AND_MEAN' for the whole project In some obscure cases 'Windows.h" got includet before that definition, which leaded to compilation warnings+errors * MSVC: '/arch:SSE' is only available for x86 * MSVC: Fix float conversation * MSVC/MINGW: use winthreads on Windows * MSVC: 'USE_CMAKE_CONFIG' might be already definied by CMake build system * MSVC: Use all available cpu cores for compiling * Add missing include ctime and use std::time_t
* C++11 cleanup on constructors (#6000)Vincent Glize2017-06-19
| | | | * C++11 cleanup on constructors dir script
* Remove threads.h and replace its definitions with their C++11 equivalents ↵ShadowNinja2017-06-11
| | | | | | (#5957) This also changes threadProc's signature, since C++11 supports arbitrary thread function signatures.
* C++11 patchset 5: use std::threads and remove old compat layer (#5928)Loïc Blot2017-06-08
| | | | | | | * C++11 patchset 5: use std::threads and remove old compat layer * use pragma once in modified headers * use C++11 function delete for object copy
* Fix AIX threading buildShadowNinja2017-01-28
|
* Fix synchronization issue at thread startShadowNinja2017-01-28
| | | | | | | | | | | | | | | | If a newly spawned thread called getThreadId or getThreadHandle before the spawning thread finished saving the thread handle, then the handle/id would be used uninitialized. This would cause the threading tests to fail since isCurrentThread would return false, and if Minetest is built with C++11 support the std::thread object pointer would be dereferenced while ininitialized, causing a segmentation fault. This fixes the issue by using a mutex to force the spawned thread to wait for the spawning thread to finish initializing the thread object. An alternative way to handle this would be to also set the thread handle/id in the started thread but this wouldn't work for C++11 builds because there's no way to get the partially constructed object.
* Fix C++11 Windows build of threading codesfan52016-10-06
| | | | | | | The initial problem was that mutex_auto_lock.h tries to use std::unique_lock<std::mutex> despite mutex.h not using C++11's std::mutex on Windows. The problem here is the mismatch between C++11 usage conditions of the two headers. This commit moves the decision logic to threads.h and makes sure mutex.h, mutex_auto_lock.h and event.h all use the same features.
* Fix & make linux conditionals uniform (#4278)Rogier-52016-07-04
| | | | | | | | The source used a hodge-podge of different combinations of different macros to check for linux: 'linux', '__linux', '__linux__'. As '__linux__' is standard (Posix), and the others are not, the source now uniformly uses __linux__. If either linux or __linux are defined, it is made sure that __linux__ is defined as well.
* Fix POSIX C++11 buildShadowNinja2016-04-30
| | | | I broke this in 46fd114e9a4e05b74576dce682e24357363298e7.
* Fix race on thread creationShadowNinja2016-04-28
| | | | This often broke the threading tests on OSX.
* Fix misc. MinGW and Valgrind warningskwolekr2015-11-08
|
* Fix C++11 compatibilitykwolekr2015-10-31
|
* Fix some threading things and add additional thread unittestskwolekr2015-10-24
| | | | | | - Fix thread name reset on start() - Fully reset thread state on kill() - Add unittests to check for correct object states under various circumstances
* Fix == to =Rui2015-10-17
|
* Refactor Thread class to improve readability and portabilitykwolekr2015-10-16
| | | | | | | | | - Fix some incompatibilities with obscure platforms (AIX and WinCE) - Clean up Thread class interface - Add m_ prefix to private member variables - Simplify platform-dependent logic, reducing preprocessor conditional clauses and improving readibility - Add Thread class documentation
* Refactor loggingShadowNinja2015-10-14
| | | | | | | | | - Add warning log level - Change debug_log_level setting to enumeration string - Map Irrlicht log events to MT log events - Encapsulate log_* functions and global variables into a class, Logger - Unify dstream with standard logging mechanism - Unify core.debug() with standard core.log() script API
* Fix building on OSX, broken since "Clean up threading"Pavel Puchkin2015-09-06
| | | | | | | | | | | | Commit e4bff8be94c0db4f94e63ad448d0eeb869ccdbbd - Clean up threading by @ShadowNinja has broken the OSX build. Including things inside a namespace isn't good. Also fixes #3124.
* Clean up threadingShadowNinja2015-08-23
* Rename everything. * Strip J prefix. * Change UpperCamelCase functions to lowerCamelCase. * Remove global (!) semaphore count mutex on OSX. * Remove semaphore count getter (unused, unsafe, depended on internal API functions on Windows, and used a hack on OSX). * Add `Atomic<type>`. * Make `Thread` handle thread names. * Add support for C++11 multi-threading. * Combine pthread and win32 sources. * Remove `ThreadStarted` (unused, unneeded). * Move some includes from the headers to the sources. * Move all of `Event` into its header (allows inlining with no new includes). * Make `Event` use `Semaphore` (except on Windows). * Move some porting functions into `Thread`. * Integrate logging with `Thread`. * Add threading test.
' href='#n515'>515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: minetest\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2013-06-24 00:07+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#: src/client.cpp:2877
msgid "Item textures..."
msgstr ""

#: src/game.cpp:959
msgid "Loading..."
msgstr ""

#: src/game.cpp:1019
msgid "Creating server...."
msgstr ""

#: src/game.cpp:1035
msgid "Creating client..."
msgstr ""

#: src/game.cpp:1050
msgid "Resolving address..."
msgstr ""

#: src/game.cpp:1126
msgid "Connecting to server..."
msgstr ""

#: src/game.cpp:1223
msgid "Item definitions..."
msgstr ""

#: src/game.cpp:1230
msgid "Node definitions..."
msgstr ""

#: src/game.cpp:1237
msgid "Media..."
msgstr ""

#: src/game.cpp:3418
msgid "Shutting down stuff..."
msgstr ""

#: src/game.cpp:3448 src/guiConfigureWorld.cpp:397
msgid ""
"\n"
"Check debug.txt for details."
msgstr ""

#: src/guiConfigureWorld.cpp:184
msgid "enabled"
msgstr ""

#: src/guiConfigureWorld.cpp:194
msgid "Enable All"
msgstr ""

#: src/guiConfigureWorld.cpp:203
msgid "Disable All"
msgstr ""

#: src/guiConfigureWorld.cpp:211
msgid "depends on:"
msgstr ""

#: src/guiConfigureWorld.cpp:224
msgid "is required by:"
msgstr ""

#: src/guiConfigureWorld.cpp:246 src/guiCreateWorld.cpp:178
#: src/guiKeyChangeMenu.cpp:195 src/keycode.cpp:223
msgid "Cancel"
msgstr ""

#: src/guiConfigureWorld.cpp:253 src/guiKeyChangeMenu.cpp:187
msgid "Save"
msgstr ""

#: src/guiConfigureWorld.cpp:374
msgid "Configuration saved.  "
msgstr ""

#: src/guiConfigureWorld.cpp:386
msgid "Warning: Configuration not consistent.  "
msgstr ""

#: src/guiConfirmMenu.cpp:119
msgid "Yes"
msgstr ""

#: src/guiConfirmMenu.cpp:127
msgid "No"
msgstr ""

#: src/guiCreateWorld.cpp:123
msgid "World name"
msgstr ""

#: src/guiCreateWorld.cpp:146
msgid "Game"
msgstr ""

#: src/guiCreateWorld.cpp:170
msgid "Create"
msgstr ""

#: src/guiDeathScreen.cpp:96
msgid "You died."
msgstr ""

#: src/guiDeathScreen.cpp:104
msgid "Respawn"
msgstr ""

#: src/guiFormSpecMenu.cpp:585
msgid "Left click: Move all items, Right click: Move single item"
msgstr ""

#: src/guiFormSpecMenu.cpp:611 src/guiMessageMenu.cpp:107
#: src/guiTextInputMenu.cpp:133
msgid "Proceed"
msgstr ""

#: src/guiKeyChangeMenu.cpp:121
msgid "Keybindings. (If this menu screws up, remove stuff from minetest.conf)"
msgstr ""

#: src/guiKeyChangeMenu.cpp:161
msgid "\"Use\" = climb down"
msgstr ""

#: src/guiKeyChangeMenu.cpp:176
msgid "Double tap \"jump\" to toggle fly"
msgstr ""

#: src/guiKeyChangeMenu.cpp:290
msgid "Key already in use"
msgstr ""

#: src/guiKeyChangeMenu.cpp:372
msgid "press key"
msgstr ""

#: src/guiKeyChangeMenu.cpp:400
msgid "Forward"
msgstr ""

#: src/guiKeyChangeMenu.cpp:401
msgid "Backward"
msgstr ""

#: src/guiKeyChangeMenu.cpp:402 src/keycode.cpp:228
msgid "Left"
msgstr ""

#: src/guiKeyChangeMenu.cpp:403 src/keycode.cpp:228
msgid "Right"
msgstr ""

#: src/guiKeyChangeMenu.cpp:404
msgid "Use"
msgstr ""

#: src/guiKeyChangeMenu.cpp:405
msgid "Jump"
msgstr ""

#: src/guiKeyChangeMenu.cpp:406
msgid "Sneak"
msgstr ""

#: src/guiKeyChangeMenu.cpp:407
msgid "Drop"
msgstr ""

#: src/guiKeyChangeMenu.cpp:408
msgid "Inventory"
msgstr ""

#: src/guiKeyChangeMenu.cpp:409
msgid "Chat"
msgstr ""

#: src/guiKeyChangeMenu.cpp:410
msgid "Command"
msgstr ""

#: src/guiKeyChangeMenu.cpp:411
msgid "Console"
msgstr ""

#: src/guiKeyChangeMenu.cpp:412
msgid "Toggle fly"
msgstr ""

#: src/guiKeyChangeMenu.cpp:413
msgid "Toggle fast"
msgstr ""

#: src/guiKeyChangeMenu.cpp:414
msgid "Toggle noclip"
msgstr ""

#: src/guiKeyChangeMenu.cpp:415
msgid "Range select"
msgstr ""

#: src/guiKeyChangeMenu.cpp:416
msgid "Print stacks"
msgstr ""

#: src/guiMainMenu.cpp:92
msgid "Cannot create world: Name contains invalid characters"
msgstr ""

#: src/guiMainMenu.cpp:103
msgid "Cannot create world: A world by this name already exists"
msgstr ""

#: src/guiMainMenu.cpp:285
msgid "Singleplayer"
msgstr ""

#: src/guiMainMenu.cpp:288
msgid "Multiplayer"
msgstr ""

#: src/guiMainMenu.cpp:291
msgid "Advanced"
msgstr ""

#: src/guiMainMenu.cpp:294
msgid "Settings"
msgstr ""

#: src/guiMainMenu.cpp:297
msgid "Credits"
msgstr ""

#: src/guiMainMenu.cpp:330
msgid "Select World:"
msgstr ""

#: src/guiMainMenu.cpp:360 src/guiMainMenu.cpp:578 src/keycode.cpp:229
msgid "Delete"
msgstr ""

#: src/guiMainMenu.cpp:369
msgid "New"
msgstr ""

#: src/guiMainMenu.cpp:379
msgid "Configure"
msgstr ""

#: src/guiMainMenu.cpp:396 src/keycode.cpp:248
msgid "Play"
msgstr ""

#: src/guiMainMenu.cpp:409 src/guiMainMenu.cpp:699
msgid "Creative Mode"
msgstr ""

#: src/guiMainMenu.cpp:417 src/guiMainMenu.cpp:707
msgid "Enable Damage"
msgstr ""

#: src/guiMainMenu.cpp:459 src/guiMainMenu.cpp:614
msgid "Name/Password"
msgstr ""

#: src/guiMainMenu.cpp:498 src/guiMainMenu.cpp:519 src/guiMainMenu.cpp:1324
msgid "Favorites:"
msgstr ""

#: src/guiMainMenu.cpp:508 src/guiMainMenu.cpp:1338
msgid "Public Server List:"
msgstr ""

#: src/guiMainMenu.cpp:532 src/guiMainMenu.cpp:643
msgid "Address/Port"
msgstr ""

#: src/guiMainMenu.cpp:560 src/guiMainMenu.cpp:1323
msgid "Show Public"
msgstr ""

#: src/guiMainMenu.cpp:567 src/guiMainMenu.cpp:1337
msgid "Show Favorites"
msgstr ""

#: src/guiMainMenu.cpp:591
msgid "Connect"
msgstr ""

#: src/guiMainMenu.cpp:668
msgid "Leave address blank to start a local server."
msgstr ""

#: src/guiMainMenu.cpp:678
msgid "Start Game / Connect"
msgstr ""

#: src/guiMainMenu.cpp:716
msgid "Public"
msgstr ""

#: src/guiMainMenu.cpp:726 src/guiMainMenu.cpp:1245
msgid "Delete world"
msgstr ""

#: src/guiMainMenu.cpp:735
msgid "Create world"
msgstr ""

#: src/guiMainMenu.cpp:773
msgid "Fancy trees"
msgstr ""

#: src/guiMainMenu.cpp:781
msgid "Smooth Lighting"
msgstr ""

#: src/guiMainMenu.cpp:789
msgid "3D Clouds"
msgstr ""

#: src/guiMainMenu.cpp:797
msgid "Opaque water"
msgstr ""

#: src/guiMainMenu.cpp:809
msgid "Mip-Mapping"
msgstr ""

#: src/guiMainMenu.cpp:818
msgid "Anisotropic Filtering"
msgstr ""

#: src/guiMainMenu.cpp:827
msgid "Bi-Linear Filtering"
msgstr ""

#: src/guiMainMenu.cpp:836
msgid "Tri-Linear Filtering"
msgstr ""

#: src/guiMainMenu.cpp:846
msgid "Shaders"
msgstr ""

#: src/guiMainMenu.cpp:855
msgid "Preload item visuals"
msgstr ""

#: src/guiMainMenu.cpp:864
msgid "Enable Particles"
msgstr ""

#: src/guiMainMenu.cpp:873
msgid "Finite liquid"
msgstr ""

#: src/guiMainMenu.cpp:885
msgid "Change keys"
msgstr ""

#: src/guiMainMenu.cpp:1211 src/guiMainMenu.cpp:1372
msgid "Address required."
msgstr ""

#: src/guiMainMenu.cpp:1231
msgid "Cannot delete world: Nothing selected"
msgstr ""

#: src/guiMainMenu.cpp:1246
msgid "Files to be deleted"
msgstr ""

#: src/guiMainMenu.cpp:1267
msgid "Cannot create world: No games found"
msgstr ""

#: src/guiMainMenu.cpp:1286
msgid "Cannot configure world: Nothing selected"
msgstr ""

#: src/guiMainMenu.cpp:1428
msgid "Failed to delete all world files"
msgstr ""

#: src/guiPasswordChange.cpp:107
msgid "Old Password"
msgstr ""

#: src/guiPasswordChange.cpp:125
msgid "New Password"
msgstr ""

#: src/guiPasswordChange.cpp:142
msgid "Confirm Password"
msgstr ""

#: src/guiPasswordChange.cpp:160
msgid "Change"
msgstr ""

#: src/guiPasswordChange.cpp:169
msgid "Passwords do not match!"
msgstr ""

#: src/guiPauseMenu.cpp:122
msgid "Continue"
msgstr ""

#: src/guiPauseMenu.cpp:133
msgid "Change Password"
msgstr ""

#: src/guiPauseMenu.cpp:143
msgid "Sound Volume"
msgstr ""

#: src/guiPauseMenu.cpp:152
msgid "Exit to Menu"
msgstr ""

#: src/guiPauseMenu.cpp:161
msgid "Exit to OS"
msgstr ""

#: src/guiPauseMenu.cpp:170
msgid ""
"Default Controls:\n"
"- WASD: move\n"
"- Space: jump/climb\n"
"- Shift: sneak/go down\n"
"- Q: drop item\n"
"- I: inventory\n"
"- Mouse: turn/look\n"
"- Mouse left: dig/punch\n"
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- T: chat\n"
msgstr ""

#: src/guiVolumeChange.cpp:107
msgid "Sound Volume: "
msgstr ""

#: src/guiVolumeChange.cpp:121
msgid "Exit"
msgstr ""

#: src/keycode.cpp:223
msgid "Left Button"
msgstr ""

#: src/keycode.cpp:223
msgid "Middle Button"
msgstr ""

#: src/keycode.cpp:223
msgid "Right Button"
msgstr ""

#: src/keycode.cpp:223
msgid "X Button 1"
msgstr ""

#: src/keycode.cpp:224
msgid "Back"
msgstr ""

#: src/keycode.cpp:224
msgid "Clear"
msgstr ""

#: src/keycode.cpp:224
msgid "Return"
msgstr ""

#: src/keycode.cpp:224
msgid "Tab"
msgstr ""

#: src/keycode.cpp:224
msgid "X Button 2"
msgstr ""

#: src/keycode.cpp:225
msgid "Capital"
msgstr ""

#: src/keycode.cpp:225
msgid "Control"
msgstr ""

#: src/keycode.cpp:225
msgid "Kana"
msgstr ""

#: src/keycode.cpp:225
msgid "Menu"
msgstr ""

#: src/keycode.cpp:225
msgid "Pause"
msgstr ""

#: src/keycode.cpp:225
msgid "Shift"
msgstr ""

#: src/keycode.cpp:226
msgid "Convert"
msgstr ""

#: src/keycode.cpp:226
msgid "Escape"
msgstr ""

#: src/keycode.cpp:226
msgid "Final"
msgstr ""

#: src/keycode.cpp:226
msgid "Junja"
msgstr ""

#: src/keycode.cpp:226
msgid "Kanji"
msgstr ""

#: src/keycode.cpp:226
msgid "Nonconvert"
msgstr ""

#: src/keycode.cpp:227
msgid "Accept"
msgstr ""

#: src/keycode.cpp:227
msgid "End"
msgstr ""

#: src/keycode.cpp:227
msgid "Home"
msgstr ""

#: src/keycode.cpp:227
msgid "Mode Change"
msgstr ""

#: src/keycode.cpp:227
msgid "Next"
msgstr ""

#: src/keycode.cpp:227
msgid "Prior"
msgstr ""

#: src/keycode.cpp:227
msgid "Space"
msgstr ""

#: src/keycode.cpp:228
msgid "Down"
msgstr ""

#: src/keycode.cpp:228
msgid "Execute"
msgstr ""

#: src/keycode.cpp:228
msgid "Print"
msgstr ""

#: src/keycode.cpp:228
msgid "Select"
msgstr ""

#: src/keycode.cpp:228
msgid "Up"
msgstr ""

#: src/keycode.cpp:229
msgid "Help"
msgstr ""

#: src/keycode.cpp:229
msgid "Insert"
msgstr ""

#: src/keycode.cpp:229
msgid "Snapshot"
msgstr ""

#: src/keycode.cpp:232
msgid "Left Windows"
msgstr ""

#: src/keycode.cpp:233
msgid "Apps"
msgstr ""

#: src/keycode.cpp:233
msgid "Numpad 0"
msgstr ""

#: src/keycode.cpp:233
msgid "Numpad 1"
msgstr ""

#: src/keycode.cpp:233
msgid "Right Windows"
msgstr ""

#: src/keycode.cpp:233
msgid "Sleep"
msgstr ""

#: src/keycode.cpp:234
msgid "Numpad 2"
msgstr ""

#: src/keycode.cpp:234
msgid "Numpad 3"
msgstr ""

#: src/keycode.cpp:234
msgid "Numpad 4"
msgstr ""

#: src/keycode.cpp:234
msgid "Numpad 5"
msgstr ""

#: src/keycode.cpp:234
msgid "Numpad 6"
msgstr ""

#: src/keycode.cpp:234
msgid "Numpad 7"
msgstr ""

#: src/keycode.cpp:235
msgid "Numpad *"
msgstr ""

#: src/keycode.cpp:235
msgid "Numpad +"
msgstr ""

#: src/keycode.cpp:235
msgid "Numpad -"
msgstr ""

#: src/keycode.cpp:235
msgid "Numpad /"
msgstr ""

#: src/keycode.cpp:235
msgid "Numpad 8"
msgstr ""

#: src/keycode.cpp:235
msgid "Numpad 9"
msgstr ""

#: src/keycode.cpp:239
msgid "Num Lock"
msgstr ""

#: src/keycode.cpp:239
msgid "Scroll Lock"
msgstr ""

#: src/keycode.cpp:240
msgid "Left Shift"
msgstr ""

#: src/keycode.cpp:240
msgid "Right Shift"
msgstr ""

#: src/keycode.cpp:241
msgid "Left Control"
msgstr ""

#: src/keycode.cpp:241
msgid "Left Menu"
msgstr ""

#: src/keycode.cpp:241
msgid "Right Control"
msgstr ""

#: src/keycode.cpp:241
msgid "Right Menu"
msgstr ""

#: src/keycode.cpp:243
msgid "Comma"
msgstr ""

#: src/keycode.cpp:243
msgid "Minus"
msgstr ""

#: src/keycode.cpp:243
msgid "Period"
msgstr ""

#: src/keycode.cpp:243
msgid "Plus"
msgstr ""

#: src/keycode.cpp:247
msgid "Attn"
msgstr ""

#: src/keycode.cpp:247
msgid "CrSel"
msgstr ""

#: src/keycode.cpp:248
msgid "Erase OEF"
msgstr ""

#: src/keycode.cpp:248
msgid "ExSel"
msgstr ""

#: src/keycode.cpp:248
msgid "OEM Clear"
msgstr ""

#: src/keycode.cpp:248
msgid "PA1"
msgstr ""

#: src/keycode.cpp:248
msgid "Zoom"
msgstr ""

#: src/main.cpp:1680
msgid "Main Menu"
msgstr ""

#: src/main.cpp:2040
msgid "Failed to initialize world"
msgstr ""

#: src/main.cpp:2053
msgid "No world selected and no address provided. Nothing to do."
msgstr ""

#: src/main.cpp:2061
msgid "Could not find or load game \""
msgstr ""

#: src/main.cpp:2075
msgid "Invalid gamespec."
msgstr ""

#: src/main.cpp:2116
msgid "Connection error (timed out?)"
msgstr ""